package dp;

/**
 * @author tmh
 * @date 2024/9/14 22:07
 * @description
 */
public class T746使用最小花费爬楼梯 {
    //dp[i]:表示跳到第i个位置的最小花费
    //dp[i]=Math.min(dp[i-1]+cost[i],dp[i-2]+cost[i-2]);
    public int minCostClimbingStairs(int[] cost) {
        int len = cost.length;
        int[] dp = new int[len + 1];
        //在第0个位置和第1个位置还没有跳，不需要花费
        dp[0] = 0;
        dp[1] = 0;
        for (int i = 2; i <= len; i++) {
            dp[i] = Math.min(dp[i - 1] + cost[i-1], dp[i - 2] + cost[i - 2]);
        }
        return dp[len];
    }
}
